//
//  NSString+Trans.h
//  MovingLoaniOS
//
//  Created by RAIN on 2018/9/11.
//  Copyright © 2018 - 2019 GWMFC. All rights reserved.
//

#import <Foundation/Foundation.h>

@interface NSString (Trans)

+ (NSString *)transFrom:(NSString *)chinese;

+ (NSString *)transFrom:(NSString *)chinese
           hasPhonogram:(BOOL)has
              uppercase:(BOOL)uppercase;

+ (NSString *)rg_allowDotFrom:(NSString *)string;

/**
 通过身份证号获取出生日期

 @param number 身份证号
 @return 出生日期
 */
+ (NSString *)dateStringFromIDNumber:(NSString *)number;

/**
 通过身份证号获取性别

 @param number 身份证号
 @return 性别
 */
+ (NSString *)genderStringFromIDNumber:(NSString *)number;

/**
 获取应用的当前版本

 @return 表示当前版本的字符串
 */
+ (NSString *)rg_stringOfAppVersion;

+ (NSString *)rg_stringOfDisplayName;

/**
 字符串中是否包含 strings 数组中的某一个字符(串)

 @param strings 用于判断的字符(串)数组
 @return 判断结果
 */
- (BOOL)rg_containsAnyStringsIn:(NSArray *)strings;

/**
 判断身份证号码格式是否正确

 @return 判断结果
 */
- (BOOL)rg_validateIdentityCard;

/**
 判断手机号码格式是否正确

 @return 判断结果
 */
- (BOOL)rg_validateMobile;

/// 判断公司电话是否正确
- (BOOL)rg_validateCompanyPhone;

/**
 判断日期格式是否正确

 @return 判断结果
 */
- (BOOL)rg_validateDate;

/**
 判断密码格式是否正确

 @return 判断结果
 */
- (BOOL)rg_validatePassword;

/**
 返回为 keyword 着色的 attributed string

 @param keyword 需要着色的关键词
 @param color keyword 的颜色
 @return 完成 keyword 着色的 attributed string
 */
- (NSMutableAttributedString *)rg_attributedStringWithKeyword:(NSString *)keyword
                                                 keywordColor:(UIColor *)color;

/**
 返回为 keyword 着色、设置特殊字体字号的 attributed string

 @param keyword 需要改变的关键词
 @param color keyword 的颜色
 @param font keyword 的字体、字号
 @return 完成 keyword 着色、字体字号设置的 attributed string
 */
- (NSMutableAttributedString *)rg_attributedStringWithKeyword:(NSString *)keyword
                                                 keywordColor:(UIColor *)color
                                                  keywordFont:(UIFont *)font;

/**
 转换为 JSON 对象

 @return JSON 对象
 */
- (id)rg_toObject;

- (BOOL)rg_isBlank;

@end
